<?php
/**
 * 合并所有文件为单个PHP文件
 */
$outputFile = 'html_canvas_single.php';

// 文件合并顺序
$files = [
    'config.php',
    'init.php',
    'functions.php',
    'handlers.php',
    // 处理模板文件（替换CSS/JS引用为内联）
    ['type' => 'template', 'path' => 'templates/login.php', 'css' => 'assets/css/login.css'],
    ['type' => 'template', 'path' => 'templates/main.php', 'css' => 'assets/css/main.css', 'js' => 'assets/js/main.js']
];

$content = "<?php\n"; // 开始PHP标签

foreach ($files as $file) {
    if (is_string($file)) {
        // PHP文件直接读取内容
        $content .= "\n// 合并自: $file\n";
        $content .= file_get_contents($file) . "\n";
    } elseif ($file['type'] === 'template') {
        // 模板文件处理
        $content .= "\n// 合并自: {$file['path']}\n";
        $templateContent = file_get_contents($file['path']);
        
        // 替换CSS引用为内联
        if (!empty($file['css'])) {
            $cssContent = file_get_contents($file['css']);
            $templateContent = preg_replace(
                '/<link rel="stylesheet" href="[^"]*' . basename($file['css']) . '">/',
                "<style>\n{$cssContent}\n</style>",
                $templateContent
            );
        }
        
        // 替换JS引用为内联
        if (!empty($file['js'])) {
            $jsContent = file_get_contents($file['js']);
            $templateContent = preg_replace(
                '/<script src="[^"]*' . basename($file['js']) . '"><\/script>/',
                "<script>\n{$jsContent}\n</script>",
                $templateContent
            );
        }
        
        // 将HTML内容用PHP echo输出
        $content .= "echo <<<HTML\n{$templateContent}\nHTML;\n";
    }
}

// 写入合并文件
file_put_contents($outputFile, $content);

echo "合并完成！生成文件: {$outputFile}\n";